package com.chenfan.mcn.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chenfan.mcn.model.McnPage;
import com.chenfan.mcn.model.StarAccountInfo;
import com.chenfan.mcn.model.vo.StarAccountOrBillingInfoResp;

import java.util.List;

/**
 * @Author liuyang
 * @Date 2021/1/7
 * @Time 20:31
 * @Version V1.0
 **/
public interface StarAccountInfoService extends IService<StarAccountInfo> {

    /**
     * 查询红人账号信息
     * @param starId
     * @return StarAccountInfo
     */
    StarAccountInfo getByStarId(Long starId);

    /**
     * 搜索红人账号信息分页
     * @param mcnPage
     * @param accountName
     * @param accountNumber
     * @param starId
     * @return
     */
    Page<StarAccountInfo> searchAccount(McnPage<StarAccountInfo> mcnPage, String accountName, String accountNumber, Long starId, boolean filterInvalid);

    /**
     * 根据红人账号id获取红人收款账户信息
     * @param id
     * @return StarAccountInfo
     */
    StarAccountInfo getById(Long id);

    /**
     * 根据红人id获取红人收款账户信息集合
     * @param starId
     * @return
     */
    List<StarAccountInfo> getListByStarId(Long starId);

    /**
     * 根据红人姓名获取账户信息
     * @param starName
     * @return
     */
    StarAccountInfo getByName(String starName);

    /**
     * 获取所有的红人收款账户信息
     * @return
     */
    List<StarAccountOrBillingInfoResp> allAccountInfo(Integer status);
}
